

# 7.4 先引入10.7的代码--Send emails asynchronously.
from threading import Thread

from flask import render_template
from flask_mail import Message

from app import app, mail

# 10.8 asynchronously send mail
def send_async_email(app, msg):
    with app.app_context():
        mail.send(msg)


# def send_email(subject, sender, recipients, text_body, html_body):
#     msg = Message(subject, sender=sender, recipients=recipients)
#     msg.body = text_body
#
#     msg.html = html_body
#     Thread(target=send_async_email, args=(app, msg)).start()

def send_email(subject, sender, recipients, text_body):
    msg = Message(subject, sender=sender, recipients=recipients)
    msg.body = text_body

    Thread(target=send_async_email, args=(app, msg)).start()

#
def send_password_reset_email(user):
    token = user.get_reset_password_token()
    send_email('[Microblog] Reset Your Password',
               sender=app.config['ADMINS'][0],
               recipients=[user.email],
               text_body=render_template('email/reset_password.txt',
                                         user=user, token=token))




